package com.yanqu.road.entity.log.cross.xingyou;

import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.log.ServerBaseLog;

import java.util.Date;

@FieldTypeAnnotation(tableName = "t_c_log_xing_you_battle", autoSave = true, desc = "行游山水-战斗", eventName = "mouwater_fight", dataUpload = true, uploadCk = true, isCross = true)
public class LogCrossXingYouBattle extends ServerBaseLog {

    @FieldTypeAnnotation(desc = "活动ID", dataAttribute = "activityId", isIndex = true)
    private int activityId;

    @FieldTypeAnnotation(isIndex = true, desc = "分组id")
    private int groupId;

    @FieldTypeAnnotation(desc = "玩家", isIndex = true)
    private long userId;

    @FieldTypeAnnotation(desc = "队伍ID", dataAttribute = "team_id")
    private int teamId;

    @FieldTypeAnnotation(desc = "格子id", dataAttribute = "event_id")
    private int gridId;

    @FieldTypeAnnotation(desc = "地图位置")
    private int mapIndex;

    @FieldTypeAnnotation(desc = "漂泊的队伍id")
    private int mapTeamId;

    @FieldTypeAnnotation(desc = "对方uid", dataAttribute = "other_id")
    private long targetUserId;

    @FieldTypeAnnotation(desc = "对方队伍id", dataAttribute = "other_team")
    private int targetTeamId;

    @FieldTypeAnnotation(desc = "类型：1：挑战；2：协助；3：妈祖回血；4：妈祖挑战", dataAttribute = "mouwater_type")
    private int attType;

    @FieldTypeAnnotation(desc = "攻击")
    private long attack;

    @FieldTypeAnnotation(desc = "掉血", dataAttribute = "mouwater_change")
    private long loseHp;

    @FieldTypeAnnotation(desc = "当前血量", dataAttribute = "other_blood")
    private long targetHp;

    @FieldTypeAnnotation(desc = "是否尾刀", dataAttribute = "mouwater_iskill")
    private int kill;

    @FieldTypeAnnotation(desc = "银票", dataAttribute = "mouwater_silget")
    private int sliverCoin;

    @FieldTypeAnnotation(desc = "金页子", dataAttribute = "mouwater_golget")
    private int goldCoin;

    @FieldTypeAnnotation(desc = "奖励", dataAttribute = "item_get")
    private String reward;

    @FieldTypeAnnotation(desc = "时间")
    private Date logTime;

    public LogCrossXingYouBattle(int activityId, long userId, int teamId, int gridId, int mapIndex, int mapTeamId, long targetUserId, int targetTeamId, int attType, long attack, long loseHp, long targetHp,
                                 int kill, int sliverCoin, int goldCoin, String reward) {
        this.activityId = activityId;
        this.userId = userId;
        this.teamId = teamId;
        this.gridId = gridId;
        this.mapIndex = mapIndex;
        this.mapTeamId = mapTeamId;
        this.targetUserId = targetUserId;
        this.targetTeamId = targetTeamId;
        this.attType = attType;
        this.attack = attack;
        this.loseHp = loseHp;
        this.targetHp = targetHp;
        this.kill = kill;
        this.sliverCoin = sliverCoin;
        this.goldCoin = goldCoin;
        this.reward = reward;
        this.logTime = new Date();
    }

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        this.activityId = activityId;
    }

    public int getGroupId() {
        return groupId;
    }

    public void setGroupId(int groupId) {
        this.groupId = groupId;
    }

    @Override
    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public int getTeamId() {
        return teamId;
    }

    public void setTeamId(int teamId) {
        this.teamId = teamId;
    }

    public int getGridId() {
        return gridId;
    }

    public void setGridId(int gridId) {
        this.gridId = gridId;
    }

    public int getMapIndex() {
        return mapIndex;
    }

    public void setMapIndex(int mapIndex) {
        this.mapIndex = mapIndex;
    }

    public int getMapTeamId() {
        return mapTeamId;
    }

    public void setMapTeamId(int mapTeamId) {
        this.mapTeamId = mapTeamId;
    }

    public long getTargetUserId() {
        return targetUserId;
    }

    public void setTargetUserId(long targetUserId) {
        this.targetUserId = targetUserId;
    }

    public int getTargetTeamId() {
        return targetTeamId;
    }

    public void setTargetTeamId(int targetTeamId) {
        this.targetTeamId = targetTeamId;
    }

    public int getAttType() {
        return attType;
    }

    public void setAttType(int attType) {
        this.attType = attType;
    }

    public long getAttack() {
        return attack;
    }

    public void setAttack(long attack) {
        this.attack = attack;
    }

    public long getLoseHp() {
        return loseHp;
    }

    public void setLoseHp(long loseHp) {
        this.loseHp = loseHp;
    }

    public long getTargetHp() {
        return targetHp;
    }

    public void setTargetHp(long targetHp) {
        this.targetHp = targetHp;
    }

    public int getKill() {
        return kill;
    }

    public void setKill(int kill) {
        this.kill = kill;
    }

    public int getSliverCoin() {
        return sliverCoin;
    }

    public void setSliverCoin(int sliverCoin) {
        this.sliverCoin = sliverCoin;
    }

    public int getGoldCoin() {
        return goldCoin;
    }

    public void setGoldCoin(int goldCoin) {
        this.goldCoin = goldCoin;
    }

    public String getReward() {
        return reward;
    }

    public void setReward(String reward) {
        this.reward = reward;
    }

    public Date getLogTime() {
        return logTime;
    }

    public void setLogTime(Date logTime) {
        this.logTime = logTime;
    }
}
